Methods for processing correction messages, correcting position measurements of GNSS receiver, and related apparatuses

ABSTRACT

Methods and apparatuses for processing correction messages in a GNSS receiver are provided. One of the proposed methods includes providing a first storage unit; receiving a plurality of correction messages from at least one data sources, wherein a plurality of assistance data are carried by the plurality of correction messages; and storing a portion of the assistance data in the first storage unit without storing remaining assistance data in the GNSS receiver.

CROSS REFERENCE TO RELATED APPLICATIONS

This continuation-in-part application claims the benefit of co-pendingU.S. patent application Ser. No. 11/766,089, filed on Jun. 20, 2007 andincluded herein by reference.

BACKGROUND

The present invention relates to global navigation satellite systems(GNSS), and more particularly, to methods for processing correctionmessages, correcting position measurements of a GNSS receiver, andrelated apparatuses.

The global navigation satellite systems (GNSS), such as Global PositionSystem (GPS), Galileo, or GLONASS, are widely used in many applications.A GNSS receiver can determine its position by receiving and analyzingcoded signals transmitted from a plurality of orbiting satellites. TheGNSS receiver computes the difference between the time a satellitetransmits its signal and the time that the GNSS receiver receives thesignal. The GNSS receiver then calculates its distance, or“pseudo-range,” from the satellite in accordance with the timedifference. Using the pseudo-ranges from at least four satellites, theGNSS receiver can determine its three-dimensional position (i.e.,latitude, longitude, and altitude).

Unfortunately, the GNSS receiver has potential position errors dueprimarily to a variety of unintended sources, such as ionosphere andtroposphere delays, receiver clock error, satellite orbit drift (a.k.a.ephemeris errors), etc. Most of the errors are “common errors” that areexperienced by all the GNSS receivers in a local area.

To improve the accuracy of position measurement of the GNSS receiver,differential global positioning systems (DGPS) were developed.Conventional DGPS uses a stationary GNSS receiver at a known location asa reference station. The reference station measures satellite signalerror by comparing its known position with the position measurementderived from the received satellite signals, and then transmits GNSSdifferential correction information (e.g., timing error measurements) toGNSS receivers within the area covered by the reference station. TheGNSS differential correction information is applied to the positioncalculations of the GNSS receivers so that the GNSS receivers can get amore accurate position measurement.

A well-known example of DGPS is the Radio Technical Commission forMaritime (RTCM) Service provided by the U.S. Coast Guard. Generally, theGNSS receiver can receive assistance data carried by the RTCM messagesfrom a beacon, Internet, or through an RS232 cable.

The Satellite Based Augmentation System (SBAS) is another source ofassistance data. There are several types of SBAS, such as the Wide AreaAugmentation System (WAAS) of North America, the Canada-Wide DGPSCorrection Service (CDGPS) of Canada, the Multi-Functional SatelliteAugmentation System (MSAS) of Japan, and the European GeostationaryNavigation Overlay Service (EGNOS) of Europe. The SBAS satellitesbroadcast SBAS messages containing assistance data to GNSS receiverswithin the coverage area of the SBAS satellites. The GNSS receivers withSBAS capabilities are capable of using the assistance data carried bythe SBAS messages to correct the GNSS satellite signal errors.

In addition to the RTCM and SBAS, some cellular communication systems(e.g., GSM) can also be utilized as a source of assistance data. Forexample, a GSM base station can directly transmit A-GPS messagescontaining assistance data to GNSS receivers with A-GPS capabilitiesthrough a wireless network.

As described previously, there are many sources of assistance data.However, the data format and contents are different from each other. Ifa GNSS receiver wants to support multiple types of the assistance data,considerable amounts of memory are required, thereby significantlyincreasing the hardware cost.

SUMMARY OF THE INVENTION

It is therefore an objective of the present disclosure to providemethods and apparatuses for processing correction messages to reduce thememory requirement, and associated methods and apparatuses forcorrecting position measurements of a GNSS receiver.

An exemplary embodiment of a method for processing correction messagesin a GNSS receiver is disclosed comprising: providing a first storageunit; receiving a plurality of correction messages from at least onedata source, wherein a plurality of Assistance data are carried by theplurality of correction messages; and storing a portion of theassistance data in the first storage unit without storing remainingAssistance data in the GNSS receiver.

An exemplary embodiment of a GNSS receiver is disclosed comprising: afirst storage unit; a receiving module for receiving a plurality ofcorrection messages from at least one data source, wherein a pluralityof assistance data are carried by the plurality of correction messages;and a decision unit, coupled to the receiving module and the firststorage unit, for storing a portion of the assistance data in the firststorage unit without storing remaining assistance data in the GNSSreceiver.

An exemplary embodiment of a method for correcting position measurementsof a GNSS receiver is disclosed comprising: providing a first storageunit; receiving a plurality of correction messages from at least onedata sources, wherein a plurality of assistance data are carried by theplurality of correction messages; storing a portion of the assistancedata in the first storage unit without storing remaining assistance datain the GNSS receiver; and modifying at least one of a pseudo-rangemeasurement and a Doppler measurement of the GNSS receiver according tothe assistance data stored in the first storage unit.

These and other objectives of the present invention will no doubt becomeobvious to those of ordinary skill in the art after reading thefollowing detailed description of the preferred embodiment that isillustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified block diagram of a global navigation satellitesystem (GNSS) receiver according to an exemplary embodiment.

FIG. 2 is a flowchart illustrating a method for processing thecorrection messages in the GNSS receiver of FIG. 1 according to a firstembodiment of the present invention.

FIG. 3 is a flowchart illustrating a method for processing thecorrection messages in the GNSS receiver of FIG. 1 according to a secondembodiment of the present invention.

DETAILED DESCRIPTION

Certain terms are used throughout the description and following claimsto refer to particular components. As one skilled in the art willappreciate, electronic equipment manufacturers may refer to a componentby different names. This document does not intend to distinguish betweencomponents that differ in name but not in function. In the followingdescription and in the claims, the terms “include” and “comprise” areused in an open-ended fashion, and thus should be interpreted to mean“include, but not limited to . . . ”. Also, the term “couple” isintended to mean either an indirect or direct electrical connection.Accordingly, if one device is coupled to another device, that connectionmay be through a direct electrical connection, or through an indirectelectrical connection via other devices and connections.

Please refer to FIG. 1, which show a simplified block diagram of aglobal navigation satellite system (GNSS) receiver 100 (e.g., a GPSreceiver) according to an exemplary embodiment. The GNSS receiver 100comprises a receiving module 110, a decision unit 120, a first storageunit 130, a second storage unit 140, and a computing unit 150. The firstand second storage units 130 and 140 may be separate memory devices ordifferent sections of a same memory module. The receiving module 110 isarranged for receiving GNSS signals from a plurality of observable GNSSsatellites (such as GPS satellites) denoted as 102, and for receiving aplurality of assistance data including correction messages transmittedfrom different data sources or different transmitting devices in onekind of system, such as a SBAS satellite 104, an RTCM message source106, and a cellular phone base station 108 shown in FIG. 1. As in theforegoing descriptions, GNSS assistance data or called differentialcorrection data are carried by the correction messages.

Note that the term “correction message” as used herein encompassesvarious signals or data transmitted from a data source to the GNSSreceiver 100. The term “GNSS differential correction data” or“assistance data” as used herein encompasses various signals orinformation for improving the accuracy of position measurements of theGNSS receiver 100. Additionally, the correction messages derived from atleast one data source are usually different in terms of format and/orcontents.

For example, the SBAS satellite 104 may be a WAAS satellite, a MSASsatellite, an EGNOS satellite, or any other satellite that continuouslybroadcasts SBAS messages carrying assistance data from space. In case ofthe WAAS satellite, the assistance data carried by the WAAS messagesinclude message types 1 through 7, 10, 18, and 24 through 26. Note thatthe number of the SBAS satellite is not limited to one as illustrated inFIG. 1.

In practice, the RTCM message source 106 may be an RTCM beacon forbroadcasting RTCM messages carrying assistance data (such as messagetypes 1, 2, and 9) on a particular radio frequency, but this is merelyan example rather than a restriction of the practical implementations.For example, since the RTCM messages can be retrieved form the Internet,the RTCM message source 106 may be an access point and the receivingmodule 110 can retrieve the RTCM messages on the Internet from theaccess point by adopting wireless means. Alternatively, the receivingmodule 110 may be coupled to a mobile device (e.g. a laptop computer, acellular phone, etc.) that capable of retrieving the RTCM messages fromthe Internet using wireless means. In this case, the receiving module110 can receive the RTCM messages from the mobile device through a RS232cable or other communication interfaces, so the mobile device can beregarded as an RTCM message source for the GNSS receiver 100.

In addition, the cellular phone base station 108 shown in FIG. 1 may bea GSM base station or a base station of any other cellular communicationsystem that capable of transmitting A-GPS messages containing assistancedata to the GNSS receiver 100 through a wireless network.

The aforementioned SBAS messages, RTCM messages, and A-GPS messages aremerely some examples of the correction messages rather than restrictionsof the practical implementations. In other words, the message sourcesare not limited to those illustrated in FIG. 1.

Assistance data includes reference GNSS time, reference GNSS receiverlocation, GNSS satellite navigation data including ephemeris and clockparameters, GNSS satellite almanac, UTC correction parameters,Ionospheric model, GNSS correction data, extended GNSS satellitenavigation data, etc.

The reference time can be get from satellite-based systems (such as GPS,GALILEO, GLONAS, WAAS, EGNOS, MSAS, GAGAN), control plane A-GNSS server,user plane A-GNSS server, host system time, cellular system time,Internet (ex: GNSS time server), self-maintained GNSS time (ex. RTC) orpreviously saved GNSS time (ex. In NV-RAM).

The reference GNSS receiver location can be get from control planeA-GNSS server, user plane A-GNSS server, host system, wirelesscommunication system (ex. cell-based positioning methods), Internet,self-maintained location (ex. Inertial sensor system), or previouslysaved location (ex. In NV-RAM)

The GNSS satellite navigation data can be get from satellite-basedsystems (such as GPS, GALILEO, GLONAS), control plane A-GNSS server,user plane A-GNSS server, host system, Internet, or previously savedGNSS satellite ephemeris (ex. In NV-RAM).

The GNSS satellite Almanac, UTC correction parameters, and IonosphericModel can be get from satellite-based systems (such as GPS, GALILEO,GLONAS), control plane A-GNSS server, user plane A-GNSS server, hostsystem, Internet, or previously saved GNSS satellite almanac/Ephemeris(ex. In NV-RAM).

The predicted GNSS satellite navigation data can be got from controlplane A-GNSS server, user plane A-GNSS server, host system, Internet, orpreviously saved GNSS satellite almanac/Ephemeris (ex. In NV-RAM).

In operations, the receiving module 110 receives GNSS signals from eachobservable GNSS satellite 102. The decision unit 120 stores GNSS datacarried by the received GNSS signals in the second storage unit 140.Then, the computing unit 150 calculates position measurements (such as apseudo-range measurement and a Doppler measurement) for the GNSSreceiver 100 according to the GNSS data stored in the second storageunit 140. The way to calculate a position measurement for the GNSSreceiver 100 according to the GNSS signals is well known in the art, andfurther details are omitted herein for brevity. Hereinafter, theoperations of processing the correction messages will be explained indetail with reference to FIG. 2 and FIG. 3.

FIG. 2 is a flowchart 200 illustrating a method for processing thecorrection messages in the GNSS receiver 100 according to a firstembodiment of the present invention. Steps of the flowchart 200 aredescribed below.

In step 210, the receiving module 110 receives a plurality of correctionmessages from at least one source, wherein GNSS differential correctiondata or assistance data of at least one types are carried by theplurality of correction messages. In this embodiment, the receivingmodule 110 receives SBAS messages, RTCM messages, and A-GPS messagesfrom the SBAS satellite 104, the RTCM message source 106, and thecellular phone base station 108, respectively. In practice, theimplementations of the receiving module 110 may vary with the formatsand number of the correction messages to be supported by the GNSSreceiver 100.

Although there are many data sources of assistance data (including GNSSdifferential correction data), and the data format and contents aredifferent from each other. Nevertheless, some assistance data (includingGNSS differential correction data) derived from at least one datasources have common functionalities, such as to correct the pseudo-rangemeasurement and/or the Doppler measurement of the GNSS receiver 100.Accordingly, if the assistance data (including GNSS differentialcorrection data) derived from a data source is stored in the firststorage unit 130, then remaining assistance data (including GNSSdifferential correction data) derived from other data sources that havethe same functionalities can be discarded to reduce the memoryrequirement.

Therefore, in step 220, the decision unit 120 selects a portion of theplurality of correction messages according to a programmable setting(not shown). Preferably, the decision unit 120 selects correctionmessages that are derived from a predetermined data source according tothe programmable setting in step 220. In practice, a user of the GNSSreceiver 100 is allowed to switch/select the source of assistance data(including GNSS differential correction data) by changing theprogrammable setting.

In step 230, the decision unit 120 extracts assistance data (includingGNSS differential correction data) from the selected correctionmessages.

Then, the decision unit 120 performs step 240 to store the assistancedata (including GNSS differential correction data) extracted from theselected correction messages in the first storage unit 130 whilediscarding assistance data (including GNSS differential correction data)carried by the other correction messages. In a preferred embodiment, thefirst storage unit 130 is designed to have a capacity that is merelysufficient to store assistance data (including GNSS differentialcorrection data) derived from a predetermined data source, wherein thedata amount of the assistance data (including GNSS differentialcorrection data) derived from the predetermined data source is greaterthan that derived from the other data sources. For example, suppose thatthe SBAS satellite 104 is a WAAS satellite, the first storage unit 130may be designed to have a capacity that is merely sufficient to storeassistance data (including GNSS differential correction data) derivedfrom the WAAS satellite 104. Since the data amount of the assistancedata (including GNSS differential correction data) transmitted from theWAAS satellite 104 is greater than that of the assistance data(including GNSS differential correction data) transmitted from the RTCMmessage source 106 or the cellular phone base station 108, the firststorage unit 130 can instead be used to store assistance data (includingGNSS differential correction data) derived from the RTCM message source106 or the cellular phone base station 108.

In one aspect, the decision unit 120 functions as a memory controllerand the first storage unit 130 functions as a shared memory.

When the assistance data (including GNSS differential correction data)extracted from the selected correction messages are stored in the firststorage unit 130, the computing unit 150 of the GNSS receiver 100modifies at least one of the pseudo-range measurement and the Dopplermeasurement according to the assistance data (including GNSSdifferential correction data) stored in the first storage unit 130.

Please note that the executing order of the steps in the flowchart 200is merely an example rather than a restriction of the practicalimplementations.

For example, FIG. 3 shows a flowchart 300 illustrating a method forprocessing the correction messages in the GNSS receiver 100 according toa second embodiment of the present invention. Steps of the flowchart 300are described below.

In step 310, the receiving module 110 receives a plurality of correctionmessages from at least one source, wherein a plurality of assistancedata (including GNSS differential correction data) of at least one typesare carried by the plurality of correction messages. Similar to theprevious embodiment, the receiving module 110 receives SBAS messages,RTCM messages, and A-GPS messages from the SBAS satellite 104, the RTCMmessage source 106, and the cellular phone base station 108,respectively.

In step 320, the decision unit 120 extracts the plurality of assistancedata (including GNSS differential correction data) from the receivedSBAS messages, RTCM messages, and A-GPS messages.

In step 330, the decision unit 120 selects a portion of the plurality ofassistance data (including GNSS differential correction data) accordingto a programmable setting (not shown). Preferably, the decision unit 120selects assistance data (including GNSS differential correction data)that are derived from a predetermined data source (such as the SBASsatellite 104) in step 330. Similarly, the user of the GNSS receiver 100is allowed to switch/select the source of assistance data (includingGNSS differential correction data) by changing the programmable setting.

In step 340, the decision unit 120 then stores the selected assistancedata (including GNSS differential correction data) in the first storageunit 130 while discarding the unselected assistance data (including GNSSdifferential correction data).

Once the selected assistance data (including GNSS differentialcorrection data) are stored in the first storage unit 130, the computingunit 150 modifies at least one of the pseudo-range measurement and theDoppler measurement according to the assistance data (including GNSSdifferential correction data) stored in the first storage unit 130.

In practice, the decision unit 120 and the computing unit 150 can berealized by a same component, such as a microprocessor.

In contrast to the prior art, the disclosed GNSS receiver 100 andrelated methods can significantly reduce memory requirements whileallowing the GNSS receiver 100 to support at least one data sources ofassistance data (including GNSS differential correction data).

Those skilled in the art will readily observe that numerousmodifications and alterations of the device and method may be made whileretaining the teachings of the invention. Accordingly, the abovedisclosure should be construed as limited only by the metes and boundsof the appended claims.

1. A method for processing correction messages in a GNSS receiver,comprising: providing a first storage unit; receiving a plurality ofcorrection messages from at least one data sources, wherein a pluralityof assistance data are carried by the plurality of correction messages;and storing a portion of the assistance data in the first storage unitwithout storing remaining assistance data in the GNSS receiver.
 2. Themethod of claim 1, wherein the plurality of correction messages areselected from a group consisting of SBAS messages, RTCM messages, andA-GPS messages.
 3. The method of claim 1, wherein the step of storingthe portion of the assistance data in the first storage unit comprises:selecting a portion of the correction message according to aprogrammable setting; extracting assistance data from the selectedcorrection message; and storing the assistance data extracted from theselected correction message in the first storage unit while discardingassistance data carried by other correction messages.
 4. The method ofclaim 3, wherein the selected correction messages are derived from apredetermined data source.
 5. The method of claim 1, wherein the step ofstoring the portion of the assistance data in the first storage unitcomprises: extracting the plurality of assistance data from theplurality of correction messages; selecting a portion of the assistancedata according to a programmable setting; and storing the selectedassistance data in the first storage unit while discarding unselectedassistance data.
 6. The method of claim 5, wherein the selectedassistance data are derived from a predetermined data source.
 7. Themethod of claim 1, wherein a capacity of the first storage unit ismerely sufficient to store assistance data derived from a predetermineddata source, wherein the data amount of the assistance data derived fromthe predetermined data source is greater than that derived from otherdata sources.
 8. A GNSS receiver, comprising: a first storage unit; areceiving module for receiving a plurality of correction messages fromat least one data sources, wherein a plurality of assistance data arecarried by at least one of correction messages; and a decision unit,coupled to the receiving module and the first storage unit, for storinga portion of the assistance data in the first storage unit withoutstoring remaining assistance data in the GNSS receiver.
 9. The GNSSreceiver of claim 8, wherein the plurality of correction messages areselected from a group consisting of SBAS messages, RTCM messages, andA-GPS messages.
 10. The GNSS receiver of claim 8, wherein the decisionunit selects a portion of the plurality of correction messages accordingto a programmable setting; extracts assistance data from the selectedcorrection messages; and stores the assistance data extracted from theselected correction messages in the first storage unit while discardingassistance data carried by other correction messages.
 11. The GNSSreceiver of claim 10, wherein the correction messages selected by thedecision unit are derived from a same data source.
 12. The GNSS receiverof claim 8, wherein the decision unit extracts the plurality ofassistance data from the plurality of correction messages; selects aportion of the plurality of assistance data according to a programmablesetting; and stores the selected assistance data in the first storageunit while discarding unselected assistance data.
 13. The GNSS receiverof claim 12, wherein the assistance data selected by the decision unitare derived from a same data source.
 14. The GNSS receiver of claim 8,wherein a capacity of the first storage unit is merely sufficient tostore assistance data derived from a predetermined data source, whereinthe data amount of the assistance data derived from the predetermineddata source is greater than that derived from other data sources. 15.The GNSS receiver of claim 8, further comprising: a computing unitcoupled to the first storage unit for modifying at least one of apseudo-range measurement and a Doppler measurement of the GNSS receiveraccording to the assistance data stored in the first storage unit.
 16. Amethod for correcting position measurements of a GNSS receiver,comprising: providing a first storage unit; receiving a plurality ofcorrection messages from at least one data sources, wherein a pluralityof assistance data are carried by the plurality of correction messages;storing a portion of the assistance data in the first storage unitwithout storing remaining assistance data in the GNSS receiver; andmodifying at least one of a pseudo-range measurement and a Dopplermeasurement of the GNSS receiver according to the assistance data storedin the first storage unit.
 17. The method of claim 16, wherein theplurality of correction messages are selected from a group consisting ofSBAS messages, RTCM messages, and A-GPS messages.
 18. The method ofclaim 16, wherein the step of storing the portion of the Assistance datain the first storage unit comprises: selecting a portion of theplurality of correction messages according to a programmable setting;extracting assistance data from the selected correction messages; andstoring the assistance data extracted from the selected correctionmessages in the first storage unit while discarding assistance datacarried by other correction messages.
 19. The method of claim 18,wherein the selected correction messages are derived from a same datasource.
 20. The method of claim 16, wherein the step of storing theportion of the assistance data in the first storage unit comprises:extracting the plurality of assistance data from the plurality ofcorrection messages; selecting a portion of the plurality of assistancedata according to a programmable setting; and storing the selectedassistance data in the first storage unit while discarding unselectedassistance data.
 21. The method of claim 20, wherein the selectedassistance data are derived from a same data source.
 22. The method ofclaim 16, wherein a capacity of the first storage unit is merelysufficient to store assistance data derived from a predetermined datasource, wherein the data amount of the assistance data derived from thepredetermined data source is greater than that derived from the otherdata sources.